Unified Oblivious-RAM: Improving Recursive ORAM with Locality and Pseudorandomness

نویسندگان

  • Ling Ren
  • Christopher W. Fletcher
  • Xiangyao Yu
  • Albert Kwon
  • Marten van Dijk
  • Srinivas Devadas
چکیده

Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns to untrusted storage. ORAM may be used in secure processors for encrypted computation and/or software protection. While recursive Path ORAM is currently the most practical ORAM for secure processors, it still incurs large performance and energy overhead and is the performance bottleneck of recently proposed secure processors. In this paper, we propose two optimizations to recursive Path ORAM. First, we identify a type of program locality in its operations to improve performance. Second, we use pseudorandom function to compress the position map. But applying these two techniques in recursive Path ORAM breaks ORAM security. To securely take advantage of the two ideas, we propose unified ORAM. Unified ORAM improves performance both asymptotically and empirically. Empirically, our experiments show that unified ORAM reduces data movement from ORAM by half and improves benchmark performance by 61% as compared to recursive Path ORAM.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Oblivious Computation with Data Locality

Oblivious RAM compilers, introduced by Goldreich and Ostrovsky [JACM’96], compile any RAM program into one that is “memory-oblivious” (i.e., the access pattern to the memory is independent of the input). All previous ORAM schemes, however, completely break the locality of data accesses (by shuffling the data to pseudorandom positions in memory). In this work, we initiate the study of locality-f...

متن کامل

Enhancing Oblivious RAM Performance Using Dynamic Prefetching

Oblivious RAM (ORAM) is an established technique to hide the access pattern to an untrusted storage system. With ORAM, a curious adversary cannot tell what data address the user is accessing when observing the bits moving between the user and the storage system. All existing ORAM schemes achieve obliviousness by adding redundancy to the storage system, i.e., each access is turned into multiple ...

متن کامل

A Simple Recursive Tree Oblivious RAM

Oblivious RAM (ORAM) has received increasing attention in the past few years. The goal of oblivious RAM is to enable a client, that can locally store only a small (preferably constant) amount of data, to store remotely N data items, and access them while hiding the identities of the items that are being accessed. Most of the earlier ORAM constructions were based on the hierarchical data structu...

متن کامل

Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM Citation

Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns as seen by untrusted storage. Recently, ORAM has been architected into secure processors. A big challenge for hardware ORAM schemes is how to efficiently manage the Position Map (PosMap), a central component in modern ORAM algorithms. Implemented naı̈vely, the PosMap causes ORAM to be fundamentally unscalable in ...

متن کامل

SeqORAM: A Locality-Preserving Write-Only Oblivious RAM

Oblivious RAM technology has advanced rapidly. Under certain clientside storage assumptions, tree-based ORAM designs [19] have achieved established lower bounds even for online adversaries that can monitor everything a client does. Write-only ORAMs target a weaker but often more practical multisnapshot adversary that can monitor only user writes. This adversary is typical in plausible deniabili...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IACR Cryptology ePrint Archive

دوره 2014  شماره 

صفحات  -

تاریخ انتشار 2014